package com.itheima.d2_map;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

//目标：掌握Map接口提供的常见方法的使用
public class Demo2 {
    public static void main(String[] args) {
        //创建Map集合对象，Map集合中HashMap使用较多
        Map<String, String> map = new HashMap<>();

        //public V put(K key, V value)：添加元素
        map.put("尹志平", "小龙女");
        map.put("张无忌", "赵敏");
        map.put("郭靖", "黄蓉");
        map.put("杨过", "小龙女");
        map.put("张无忌", "周芷若");
        //注意：Map集合的key和value都允许是null
        //map.put(null, null);
        //打印map集合
        System.out.println("map集合的键值对数据：" + map);

        //public int size()：获取集合的大小
        int size = map.size();
        System.out.println("map集合的键值对个数：" + size);

        //public void clear()：清空集合
        //map.clear();
        //System.out.println("map集合清空后：" + map);

        //public boolean isEmpty()：判断集合是否为空，为空返回true , 反之返回false
        boolean result = map.isEmpty();
        System.out.println("map集合是否是空的：" + result);

        //public V get(Object key)：根据键获取对应值
        String value = map.get("郭靖");
        System.out.println("map集合中键为郭靖，对应的值是：" + value);

        //public V remove(Object key)：根据键删除整个元素
        value = map.remove("尹志平");
        System.out.println("被删除的键值对中的值是：" + value);
        System.out.println("删除键为尹志平的键值对后，map集合的数据：" + map);

        //public boolean containsKey(Object key)：判断是否包含某个键
        result = map.containsKey("尹志平");
        System.out.println("map集合中是否包含尹志平这个键：" + result);
        result = map.containsKey("杨过");
        System.out.println("map集合中是否包含杨过这个键：" + result);

        //public boolean containsValue(Object value)：判断是否包含某个值
        result = map.containsValue("赵敏");
        System.out.println("map集合中是否包含赵敏这个值：" + result);

        //public Set<K> keySet()：获取全部键的集合
        Set<String> keys = map.keySet();
        System.out.println("map集合中所有的键是：" + keys);

        //public Collection<V> values()：获取Map集合的全部值
        Collection<String> values = map.values();
        System.out.println("map集合中所有的值是：" + values);
    }
}
